package com.ucode.model.hrm;

import com.ucode.tool.base.BaseTenantMode;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.time.LocalDateTime;

/**
 * 请假记录
 * @Author: liliang
 * @Date: 2025/3/28 14:42
 * @Version: 1.0
 */
@Schema(description = "人力资源管理系统 - 请假记录")
@Data
@EqualsAndHashCode
@ToString(callSuper = true)
public class HrmLeaveApplyRecord extends BaseTenantMode<Long,Long> {
    /**
     * 员工ID
     */
    private Long employeeId;
    /**
     * 客户公司ID
     */
    private Long companyId;
    /**
     * 客户公司项目ID
     */
    private Long projectId;

    /**
     * 请假类型：1-年假 2-病假 3-事假 4-调休
     */
    private Integer leaveType;

    /**
     * 请假开始时间
     */
    private LocalDateTime startTime;

    /**
     * 请假结束时间
     */
    private LocalDateTime endTime;

    /**
     * 请假天数（支持半天）
     */
    private Double days;
    /**
     * 请假原因
     */
    private String reason;
    /**
     * 审批状态
     * @see com.ucode.tool.base.enums.CommonAuditStatusEnum
     */
    private Integer auditStatus;
    /**
     * 处理人
     */
    private Long processorId;
    /**
     * 处理时间
     */
    private LocalDateTime processTime;
    /**
     * 处理备注
     */
    private String processRemark;

}
